Dynomotion

Group: DynoMotion Message: 3911 From: himykabibble Date: 2/16/2012
Subject: DSP Program Size
I recall seeing a while back that there is a hard limit on the size of DSP user threads, but don't recall what the number was. The header file suggests 32K? I assume that's 32-bit words?

How do I know how large a particular program is, given that I don't see any kind of link map created?

I have two programs for which the file size on disc is on the order of 55 Kbytes, but what is the actual DSP memory footprint?

Regards,
Ray L.
Group: DynoMotion Message: 3912 From: Tom Kerekes Date: 2/16/2012
Subject: Re: DSP Program Size
Hi Ray,
 
Each User Thread is 64KBytes but thread #7 is bigger 5 x 64KBytes.  You may also overflow into the next Thread if you are careful never to use it at the same time.
 
#define MAX_USER_PROG_SIZE_KFLOP 0x10000    // space between each thread/user program
When you compile programs from the KMotion C Programs Screen the size is printed below the file where any errors are displayed.
 
Local variables are placed on the Stack and do not use this space but the Stack size for each Thread is only 2KBytes (The Stack resided in super fast internal DSP memory (single cycle 5ns 256-bits wide memory).
 
Regards
TK
 
 

Group: DynoMotion Message: 3914 From: Andrew Ford Date: 2/16/2012
Subject: Re: DSP Program Size
Hey Ray,

The actual size in memory is also printed to the kmotion.exe console when you ask it to compile your source, it's easy to miss.

On Thu, Feb 16, 2012 at 12:02 PM, Tom Kerekes <tk@...> wrote:
 

Hi Ray,
 
Each User Thread is 64KBytes but thread #7 is bigger 5 x 64KBytes.  You may also overflow into the next Thread if you are careful never to use it at the same time.
 
#define MAX_USER_PROG_SIZE_KFLOP 0x10000    // space between each thread/user program
When you compile programs from the KMotion C Programs Screen the size is printed below the file where any errors are displayed.
 
Local variables are placed on the Stack and do not use this space but the Stack size for each Thread is only 2KBytes (The Stack resided in super fast internal DSP memory (single cycle 5ns 256-bits wide memory).
 
Regards
TK